মডেল ডেপ্লয়মেন্ট এবং ইন্টিগ্রেশন হল একটি মেশিন লার্নিং প্রকল্পের গুরুত্বপূর্ণ অংশ। এখানে একটি উদাহরণের মাধ্যমে দেখানো হবে কিভাবে একটি মডেল ডেপ্লয় করা যায় এবং API মাধ্যমে ইন্টিগ্রেট করা যায়।
প্রকল্পের উদ্দেশ্য: বাড়ির মূল্য পূর্বাভাস মডেল ডেপ্লয়মেন্ট
আমরা একটি সিম্পল লিনিয়ার রিগ্রেশন মডেল তৈরি করবো, সেটিকে ডেপ্লয় করবো এবং Flask ব্যবহার করে একটি API তৈরি করবো।
ধাপ ১: প্রয়োজনীয় লাইব্রেরি ইনস্টল করা
প্রথমে প্রয়োজনীয় লাইব্রেরিগুলি ইনস্টল করুন।
pip install flask pandas scikit-learn joblib
ধাপ ২: মডেল তৈরি এবং সংরক্ষণ
import pandas as pd
from sklearn.linear_model import LinearRegression
import joblib
# উদাহরণ ডেটাসেট তৈরি
data = pd.DataFrame({
'Bedrooms': [3, 4, 2, 4, 3],
'Bathrooms': [2, 3, 1, 3, 2],
'Square_Feet': [1500, 2000, 900, 2500, 1600],
'Yard_Size': [500, 800, 300, 700, 600],
'Price': [250000, 300000, 150000, 400000, 280000]
})
# ফিচার এবং টার্গেট নির্ধারণ
X = data[['Bedrooms', 'Bathrooms', 'Square_Feet', 'Yard_Size']]
y = data['Price']
# মডেল তৈরি এবং প্রশিক্ষণ
model = LinearRegression()
model.fit(X, y)
# মডেল সংরক্ষণ
joblib.dump(model, 'housing_model.pkl')
ধাপ ৩: Flask API তৈরি করা
এখন Flask ব্যবহার করে একটি API তৈরি করুন।
from flask import Flask, request, jsonify
import joblib
import numpy as np
# Flask অ্যাপ তৈরি
app = Flask(__name__)
# মডেল লোড করা
model = joblib.load('housing_model.pkl')
@app.route('/predict', methods=['POST'])
def predict():
# ইনপুট ডেটা গ্রহণ করা
data = request.get_json(force=True)
# ফিচার বের করা
bedrooms = data['Bedrooms']
bathrooms = data['Bathrooms']
square_feet = data['Square_Feet']
yard_size = data['Yard_Size']
# পূর্বাভাস করা
prediction = model.predict(np.array([[bedrooms, bathrooms, square_feet, yard_size]]))
# পূর্বাভাস ফলাফল ফেরত দেয়া
return jsonify({'Predicted Price': prediction[0]})
if __name__ == '__main__':
app.run(debug=True)
ধাপ ৪: API পরীক্ষা করা
Flask অ্যাপ চালানোর জন্য নিম্নলিখিত কমান্ডটি ব্যবহার করুন:
python app.py
এখন আপনি API পরীক্ষা করার জন্য Postman অথবা CURL ব্যবহার করতে পারেন।
CURL কমান্ড ব্যবহার করে পরীক্ষা:
curl -X POST http://127.0.0.1:5000/predict -H "Content-Type: application/json" -d '{"Bedrooms": 3, "Bathrooms": 2, "Square_Feet": 1500, "Yard_Size": 500}'
Postman ব্যবহার করে:
- Postman খুলুন।
- নতুন একটি POST রিকোয়েস্ট তৈরি করুন।
- URL দিন:
http://127.0.0.1:5000/predict - Body ট্যাবে JSON নির্বাচন করুন এবং নিম্নলিখিত JSON ইনপুট দিন:
{
"Bedrooms": 3,
"Bathrooms": 2,
"Square_Feet": 1500,
"Yard_Size": 500
}
Send বাটনে ক্লিক করুন।
ধাপ ৫: মডেল ডেপ্লয়মেন্ট
ডেপ্লয়মেন্টের জন্য বিভিন্ন প্ল্যাটফর্ম ব্যবহার করা যেতে পারে, যেমন:
- Heroku: একটি জনপ্রিয় ক্লাউড প্ল্যাটফর্ম যা ফ্লাস্ক অ্যাপ্লিকেশন ডেপ্লয় করতে সহজ।
- AWS Elastic Beanstalk: Amazon এর একটি সার্ভিস যা ওয়েব অ্যাপ্লিকেশন ডেপ্লয় করতে সাহায্য করে।
- Google Cloud Run: Google এর একটি সার্ভিস যা কন্টেইনারে থাকা অ্যাপ্লিকেশন চালায়।
Heroku তে ডেপ্লয়মেন্টের উদাহরণ:
- Heroku CLI ইনস্টল করুন।
- একটি নতুন অ্যাপ তৈরি করুন:
heroku create your-app-name
3. requirements.txt তৈরি করুন:
pip freeze > requirements.txt
4. Procfile তৈরি করুন: একটি Procfile তৈরি করুন যাতে লেখা থাকে:
web: python app.py
5. Git ব্যবহার করে ডেপ্লয় করুন:
git init
heroku git:remote -a your-app-name
git add .
git commit -m "Initial commit"
git push heroku master
সারসংক্ষেপ
এই প্রকল্পে, আমরা একটি বাড়ির মূল্য পূর্বাভাস মডেল তৈরি করেছি, সেটিকে Flask API হিসেবে সার্ভ করেছি এবং তারপর ডেপ্লয় করার জন্য প্রয়োজনীয় পদক্ষেপ দেখিয়েছি। Flask ব্যবহার করে একটি API তৈরি করা সহজ এবং মডেল ডেপ্লয়মেন্টের জন্য বিভিন্ন প্ল্যাটফর্ম ব্যবহার করা যেতে পারে। এটি আপনার মডেলকে বাস্তব জীবনের অ্যাপ্লিকেশনগুলিতে ব্যবহারের জন্য প্রস্তুত করে।
Read more